An automated storage tiering (AST) technology has been introduced in a storage system. The AST is a technology that automatically transfers and relocates data between storage tiers in accordance with a predetermined policy. For example, the storage tiers are constructed by a solid state drive (SSD) that has a short response time but with a high cost per unit capacity and a hard disk drive (HDD) that has a long response time but with a low cost per unit capacity. A more frequently accessed data unit is transferred to the SSD to be relocated, while a less frequently accessed data unit is transferred to the HDD to be relocated. Accordingly, a high performance (speed up of response) may be achieved in the storage system while maintaining a large capacity.
Here, descriptions will be made on a configuration and operations of a storage system in which the AST technology is employed with reference to FIG. 9. A storage system illustrated in FIG. 9 includes two host computers (hereinafter, simply referred to as hosts) #0 and #1, a parent pool FTRP (flexible tier pool) including a plurality of storage devices (SSDs, HDDs, or the like), and a control device.
The control device is provided between the hosts #0 and #1 and the parent pool FTRP, and includes two control units CMs (Controller Modules) #0 and #1, each of which performs an input/output control for the parent pool FTRP in response to input/output requests from the hosts #0 and #1. Each of the CMs #0 and #1 is provided with a cache memory which temporarily holds a data unit stored in the parent pool FTRP. The CMs #0 and #1 are communicably connected with each other.
In the parent pool FTRP, a plurality of child pools FTSPs (flexible tier sub pools) implemented with different levels of RAIDs (redundant arrays of inexpensive disks), or a plurality of child pools FTSPs implemented with RAIDs constructed of different types of disks are prepared using the plurality of storage devices to form storage tiers.
In the parent pool FTRP illustrated in FIG. 9, three child pools FTSP #0, FTSP #1, and FTSP #2 are prepared, the child pool FTSP #0 is under the control of the CM #0, and the child pools FTSP #1 and FTSP #2 are under the control of the CM #1. The child pool FTSP #0 has the highest performance (shortest response time), the child pool FTSP #1 has the second highest performance (second shortest response time), and the child pool FTSP #2 has the lowest performance (longest response time). For example, the child pool FTSP #0 is an SSD, the child pool FTSP #1 is a RAID1 or an online HDD, and the child pool FTSP #2 is a RAID5 or a near line HDD.
In the storage system, a volume (logical volume) of the AST is associated with the parent pool FTRP. A finely divided unit TPPE (thin provisioning pool element) is allocated to the volume of the AST from the child pools FTSP #0, FTSP #1, and FTSP #2 in a stage where the volume is written into the parent pool FTRP. The unit is called a chunk, and a plurality of chunks collected into a single group is called an FTRPE, a chunk collection, a chunk group, a data block, a transfer unit, or a data unit.
The performance information is collected for each data unit. The performance information is, for example, an access frequency (number of accesses per unit time) of the data unit. It is determined, based on the collected access frequency, whether each data unit is to be transferred to a child pool residing in a higher tier, to a child pool residing in a lower tier, or is not to be transferred to another child pool. Each data unit is transferred and relocated depending on the determination result. For example, as illustrated in FIG. 9, when the access frequency of data unit D0 placed on the child pool FTSP #1 becomes greater than a predetermined threshold value, the data unit D0 is transferred from the child pool FTSP #1 to the child pool FTSP #0 of the higher tier to be relocated in the child pool FTSP #0, as illustrated by an arrow A0.
As a related technology, there has been known a cache control device that controls a cache operation of a storage system including a plurality of cache modules connected with each other and storage modules connected to the cache modules. In the cache control device, a page having a high possibility of receiving an access request among the pages managed by a certain cache module is held in a memory of the cache module. In the meantime, a page having a low possibility of receiving the access request is allocated to another cache module.
As another related technology, there has been known a technology that migrates a virtual logical volume to a real logical volume, in a case where a use rate of the virtual logical volume exceeds a threshold value and a physical storage area corresponding to a storage area of the virtual logical volume is managed by another control unit.
Related technologies are disclosed in, for example, Japanese Laid-Open Patent Publication No. 2000-181763 and Japanese Laid-Open Patent Publication No. 2011-13800.
When access frequencies are gathered as the performance information and more frequently accessed data units are simply transferred to the higher tier to be relocated as described above, performance degradation may be caused in the following cases (1) and (2).
(1) A case where a straight access is made to the data unit before the data unit is transferred and a cross access is made to the data unit after the data unit is transferred:
For example, as illustrated in FIG. 9, in a state where the data unit D0 before being transferred is placed on the child pool FTSP #1 under the control of the CM #1, the straight access to the data unit D0 is made when an input/output request for the data unit D0 is received from the host #1 (see an arrow i in FIG. 9). It is assumed that this state is changed to a state where the data unit D0 is transferred to the child pool FTSP #0 of the higher tier under the control of the CM #0 to be relocated (see the arrow A0 in FIG. 9). When an input/output request for the data unit D0 after having been transferred is received from the host #1, the cross access including communications between the CM #1 and CM #0 is made to the data unit D0 residing on the child pool FTSP #0 (see an arrow ii in FIG. 9). Different from the straight access, the cross access includes communications between the CMs so that a response becomes slower when the cross access occurs, thereby causing a performance degradation.
(2) A case where an access to a disk hardly occurs due to a high cache hit rate of the data unit intended to be transferred.
For example, as illustrated in FIG. 9, in a state where the data unit D0 which is a target data unit to be transferred is held in a cache memory of the CM #1, the cache hit rate of the target data unit D0 to be transferred is increased when an input/output request for the data unit D0 is received from the host #1 (see an arrow iii). Accordingly, access to the child pool FTSP #1 hardly occurs. When this state is changed to a state where the data unit D0 is transferred to the child pool FTSP #0 of the higher tier under the control of the CM #0 to be relocated (see the arrow A0 in FIG. 9), the data unit D0 is not hit in the cache memory of the CM #1, thereby causing a performance degradation.